If an error condition occurs, this routine returns an integer
value indicating the type of error. Possible return values are as
follows:
Return Description
0 Successful completion.
[EAGAIN] The system lacks the necessary resources to
initialize a mutex.
[EBUSY] The implementation has detected an attempt to
reinitialize mutex (a previously initialized, but
not yet destroyed, mutex).
[EINVAL] The value specified by mutex is not a valid mutex.
[ENOMEM] Insufficient memory to initialize the mutex.
[EPERM] The caller does not have privileges to perform this
operation.